<?php
// 这是系统自动生成的公共文件

use think\facade\Cache;

/**
 * 储存用户redis信息
 *
 * @param String $token
 * @param        $member_data
 * @throws \Psr\SimpleCache\InvalidArgumentException
 */
function saveRedisWeb($token, $member_data)
{
    $uid = $member_data['id'];
    // 保存用户信息
    Cache::store('redis')->set((string)"web_" . $token, $member_data, 3600 * 24 * 7);
    // 这一步清理之前该用户储存的redis
    Cache::store('redis')->delete((string)Cache::store('redis')->get("web_user_" . $uid));
    // 储存
    Cache::store('redis')->set((string)"web_user_" . $uid, "web_" . $token, 3600 * 24 * 7);
}
/**
 * 将秒时间转换具体时间
 * @param $seconds
 * @return string
 */
function timesecond($seconds)
{
    $seconds = (int)$seconds;
    if ($seconds > 3600) {
        $days_num = '';
        if ($seconds > 24 * 3600) {
            $days = (int)($seconds / 86400);
            $days_num = $days . "天";
            $seconds = $seconds % 86400;//取余
        }
        $hours = intval($seconds / 3600);
        $minutes = $seconds % 3600;//取余下秒数
        $time = $days_num . $hours . "小时" . gmstrftime('%M分钟%S秒', $minutes);
    } else {
        $time = gmstrftime('%H小时%M分钟%S秒', $seconds);
    }
    return $time;
}

/**
 * Unicode字符转换成utf8字符
 * @param  [type] $unicode_str Unicode字符
 * @return [type]       Utf-8字符
 */
function u2c($str)
{
    return preg_replace_callback("#\\\u([0-9a-f]{4})#i",
        function ($r) {

            return iconv('UCS-2BE', 'UTF-8', pack('H4', $r[1]));
        },
        $str);
}

/**
 * 二维数组根据某个字段排序
 * @param array  $array 要排序的数组
 * @param string $keys  要排序的键字段
 * @param string $sort  排序类型 SORT_ASC SORT_DESC
 * @return array 排序后的数组
 */
function arraySort($array, $keys, $sort = 'asc')
{
    if ($sort == 'asc') {
        $sort = SORT_ASC;
    } else {
        $sort = SORT_DESC;
    }
    $keysValue = [];
    $keysValue = array_column($array, $keys);
    array_multisort($keysValue, $sort, $array);
    return $array;
}